﻿namespace MicroCloud.Utils
{
    /// <summary>
    /// 输入DTO接口
    /// </summary>
    /// <typeparam name="TKey">实体主键类型</typeparam>
    public interface IInputDto<TKey> : IInputDtoBase
    {
        /// <summary>
        /// 获取或设置 主键（唯一标识）
        /// </summary>
        TKey Id { get; set; }

    }

    /// <summary>
    /// 输入DTO基接口
    /// </summary>
    public interface IInputDtoBase
    { }

    /// <summary>
    /// 输出DTO接口
    /// </summary>
    public interface IOutputDto
    { }

    /// <summary>
    /// 数据权限接口（可更新、可删除状态）
    /// </summary>
    public interface IDataAuthEnabled
    {
        /// <summary>
        /// 获取或设置 是否可更新的数据权限状态
        /// </summary>
        bool Updatable { get; set; }

        /// <summary>
        /// 获取或设置 是否可删除的数据权限状态
        /// </summary>
        bool Deletable { get; set; }

    }

}
